this.addChrome(this.panelBox, { affectsStruts: true,
trackFullscreen: true });
this.panelBox.connect('allocation-changed',
- Lang.bind(this, this._updatePanelBarriers));
+ Lang.bind(this, this._panelBoxChanged));
this.trayBox = new St.Widget({ name: 'trayBox',
layout_manager: new Clutter.BinLayout() });
this.bottomMonitor.width, this.bottomMonitor.height);
},
+ _panelBoxChanged: function() {
+ this.emit('panel-box-changed');
+ this._updatePanelBarriers();
+ },
+
_updatePanelBarriers: function() {
if (this._leftPanelBarrier)
global.destroy_pointer_barrier(this._leftPanelBarrier);
},
_startupAnimationComplete: function() {
+ this.emit('panel-box-changed');
this._chrome.thawUpdateRegions();
},
}));
this._xdndTimeOut = 0;
+
+ // Since the hot corner uses stage coordinates, Clutter won't
+ // queue relayouts for us when the panel moves. Queue a relayout
+ // when that happens.
+ Main.layoutManager.connect('panel-box-changed', Lang.bind(this, function() {
+ container.queue_relayout();
+ }));
},
_containerGetPreferredWidth: function(actor, forHeight, alloc) {